#ifndef COMMAND_H
#define COMMAND_H
#include<QString>
#include <QVector>

#define WARNING_TEMPTURE 70
#ifndef M_PI
#define M_PI		3.14159265358979323846
#endif
extern double g_xScale;
extern double g_yScale;


enum JointType {
    ROBOT_STATUS=0, //机器其它状态信息

    HEAD_JOINT,  //头部
    WAIST_JOINT,  //腰部

    LEFT_ARM_JOINT, //左臂
    RIGHT_ARM_JOINT, //右臂

    LEFT_LEG_JOINT, //左腿
    RIGHT_LEG_JOINT, //右腿

    LEFT_TIP_JOINT, //左末端
    RIGHT_TIP_JOINT, //右末端

    LEFT_TOOL_JOINT,
    RIGHT_TOOL_JOINT, //右手 灵巧手

    LEFT_TOOL_HAND_JOINT, //左手 灵巧手
    LEFT_TOOL_GRIPPER_JOINT, //左手 夹爪
    LEFT_TOOL_SUCKER_JOINT, //左手 吸盘

    RIGHT_TOOL_HAND_JOINT, //右手 灵巧手
    RIGHT_TOOL_GRIPPER_JOINT, //右手 夹爪
    RIGHT_TOOL_SUCKER_JOINT, //右手 吸盘


};

struct JOINT{
    int nIndex;
    QString strName;
    QString strProtocal;
    QString strUrdf;
    JointType type;
};

enum TabType {
    MANUAL_PAGE, // 表示手动类型的PAGE
    AUTO_PAGE,// 表示自动类型的PAGE
    TEACHING_PAGE, // 表示示教类型的PAGE
    REMOTE_OPERATION_PAGE,// 表示遥操作类型的PAGE
    SET_PAGE            //设置
};

enum RemoteDev{
    STATE_VISIONPRO= 0,//VisionPro遥操作
    STATE_XSENSE,//xsense遥操作
    STATE_QUEST//待定未知
};

QVector<JOINT> getJointByType(JointType type);
QVector<JOINT> getJointBody();
QString getJointTypeText(JointType type);
#endif // COMMAND_H
